package com.example.qxfw.common.dmgis.edit;

import com.dmgis.common.DmEnumType;
import com.dmgis.layer.DmPrj;

public class ProjectEdit {
    /**
     * 添加图层
     * @param prjPath 工程路径
     * @param filePath 文件路径
     * @param layerName 文件名
     * @param layerType 图层类型
     */
    public static void addMapLayer(String prjPath,String filePath,String layerName,DmEnumType.LayerType layerType){
        //打开工程
        DmPrj prj=new DmPrj();
        boolean res = prj.OpenPrj(prjPath);
        if (res){
            prj.AddMapLayer(filePath,(short) layerType.getType(),layerName,(short) 4 );
        }
        prj.SavePrj(prjPath);
        prj.delete();
    }


    /**
     * 添加图层
     * @param prjPath 工程路径
     * @param layerName 图层名称
     */
    public static void delMapLayer(String prjPath,String layerName){
        //打开工程
        DmPrj prj=new DmPrj();
        boolean res = prj.OpenPrj(prjPath);
        if (res){
            prj.DelLayerByLayername(layerName);
        }
        prj.SavePrj(prjPath);
        prj.delete();
    }

    /**
     * 替换图层
     * @param prjPath 工程路径
     * @param filePath 文件路径
     * @param orLayerName 原图层名
     * @param nLayerName  新图层名
     * @param layerType  图层类型
     */
    public void replaceMapLayer(String prjPath, String filePath, String orLayerName, String nLayerName, DmEnumType.LayerType layerType){
        //打开工程
        DmPrj prj=new DmPrj();
        boolean res = prj.OpenPrj(prjPath);
        if (res){
            boolean del = prj.DelLayerByLayername(orLayerName);
            if (del){
                prj.AddMapLayer(filePath,(short) layerType.getType(),nLayerName,(short) 1 );
            }
        }
        prj.SavePrj(prjPath);
        prj.delete();
    }
}
